Method and system for facilitating shared use of a shared use facility

ABSTRACT

There is described a method of facilitating shared use by multiple users of one or more shared use facilities. Each shared use facility comprises equipment for shared use by the multiple users. The method comprises: receiving at a control system an equipment use request from a particular one of the multiple users, the equipment use request identifying equipment desired for use (“identified equipment”); accessing by the control system an equipment reservation record identifying when equipment is reserved for use by one or more of the multiple users; validating by the control system the equipment use request based on the equipment reservation record and the equipment use request; transmitting, in response to validating the equipment use request, an activation instruction from the control system, wherein the activation instruction is for modifying an operating state of the identified equipment from a first operating state, in which the identified equipment is disabled for use, to a second operating state, in which the identified equipment is enabled for use.

CROSS REFERENCE TO RELATED APPLICATION

This non-provisional application is a continuation of U.S.non-provisional patent application Ser. No. 16/473,375, entitled “Methodand System for Facilitating Shared Use of a Shared Use Facility,” whichwas filed with the U.S. Patent and Trademark Office on Jun. 25, 2019,which is specifically incorporated herein by reference for all that itdiscloses and teaches.

FIELD

The present disclosure relates generally to the field of shared usefacilities, and more specifically to systems and methods that facilitateshared use of such facilities.

BACKGROUND

Shared use facilities are facilities with equipment/infrastructure thatis designed to be used by multiple users. One example of a shared usefacility is a commercial kitchen with various equipment such as multiplefreezers, ovens, etc. These various different appliances may be rentedby different users for certain periods of pre-agreed time, and the usersmay be charged as a function of the rental period.

A challenge with current shared use facilities is that it is difficultto accommodate shared use of the facility infrastructure or equipment.Multiple users may wish to share the usage of the facility equipment. Asa specific example, in a commercial kitchen, a number of differentbusinesses and/or individuals may seek to use the shared commercialkitchen. However, there may be technical challenges related tousage/cost allocation, scheduling, and reservations, among others.

The present disclosure seeks to provide improved methods and systems formanaging or facilitating shared use of a shared use facilities.

SUMMARY

In a first aspect of the disclosure, there is provided a method offacilitating shared use by multiple users of one or more shared usefacilities. Each shared use facility comprises equipment for shared useby the multiple users. The method comprises receiving at a controlsystem an equipment use request from a particular one of the multipleusers, the equipment use request identifying equipment desired for use(“identified equipment”). The method further comprises accessing by thecontrol system an equipment reservation record identifying whenequipment is reserved for use by one or more of the multiple users. Themethod further comprises validating by the control system the equipmentuse request based on the equipment reservation record and the equipmentuse request. The method further comprises transmitting, in response tovalidating the equipment use request, an activation instruction from thecontrol system. The activation instruction is for modifying an operatingstate of the identified equipment from a first operating state, in whichthe identified equipment is disabled for use, to a second operatingstate, in which the identified equipment is enabled for use.

The method may further comprise receiving at the control system anequipment reservation request from one or more of the multiple users.The equipment reservation request may identify equipment desired for use(“reserved equipment”) by the one or more users and when the reservedequipment is desired for use. The method may further comprise updatingby the control system the equipment reservation record based on theequipment reservation request.

The control system may comprise one or more equipment controllers. Eachequipment controller may be communicatively coupled to a central controlmodule and may be configured to control operating states of equipmentassociated with the equipment controller. Transmitting the activationinstruction may comprise transmitting the activation instruction fromthe central control module to the equipment controller associated withthe identified equipment. Transmitting the activation instruction maycomprise transmitting the activation instruction from equipmentcontroller associated with the identified equipment.

Validating the equipment use request may comprises accessing a userprofile record comprising user identifiers each associated with arespective one of the multiple users. Validating the equipment userequest may further comprise determining that a user identifier inputtedby the particular user corresponds to the user identifier associatedwith the particular user in the user profile record. Validating theequipment use request may further comprise determining that theidentified equipment is not reserved for use at the time the controlsystem receives the equipment use request. Validating the equipment userequest may further comprise determining that the identified equipmentis reserved for use by the particular user at the time the controlsystem receives the equipment use request.

The activation instruction may further be for modifying the operatingstate of the identified equipment by controlling one or more relaysassociated with the identified equipment. The one or more relays maycomprise one or more solenoids.

The method may further comprise recording by the control systemequipment usage data during use of equipment. The equipment usage datamay comprise one or more of: energy consumption by the equipment duringuse of the equipment; and usage characteristics of the equipment.

The method may further comprise comparing, by the control system, aduration of time during which equipment is in its first operating stateto a period of time during which the equipment is reserved for use byone of the multiple users, based on the equipment reservation record.

The method may further comprise determining by the control system, basedon the equipment reservation record, that the equipment reservationrequest is no longer valid. The method may further comprisetransmitting, in response to determining that the equipment reservationrequest is no longer valid, a deactivation instruction from the controlmodule. The deactivation instruction may be for modifying the operatingstate of the reserved equipment from the second operating state to thefirst operating state.

The method may further comprise, prior to or in response to receivingthe equipment reservation request, transmitting by the control system aninstruction to activate a camera.

The method may further comprise, prior to receiving the equipmentreservation request, receiving at the control system login input fromthe particular user. The method may further comprise validating by thecontrol system the login input.

The method may further comprise recording by the control system a totalamount of time that equipment is in use. The method may furthercomprise, in response to determining that the total amount of time isequal to a predetermined amount of time, transmitting by the controlsystem an alert for alerting a system administrator that maintenance ofthe equipment is required.

The method may further comprise determining by the control system that acontract with one of the users has expired. The method may furthercomprise, in response to determining that the contract has expired,updating by the control system the equipment reservation record byremoving any existing reservations made by the user whose contract hasexpired.

The method may further comprise transmitting from the control system oneor more firmware updates to the equipment or to the one or moreequipment controllers.

The method may further comprise receiving at the control system sensordata from one or more sensors associated with the identified equipment.The method may further comprise transmitting by the control system oneor messages to a remote user device based on the sensor data. The one ormore sensors may comprise one or more temperature sensors.

In a further aspect of the disclosure, there is provided a system forfacilitating shared use by multiple users of one or more shared usefacilities. Each shared use facility comprises equipment for shared useby the multiple users. The system comprises a control system configuredto receive an equipment use request from a particular one of themultiple users, the equipment use request identifying equipment desiredfor use (“identified equipment”). The control system is furtherconfigured to access an equipment reservation record identifying whenequipment is reserved for use by one or more of the multiple users. Thecontrol system is further configured to validate the equipment userequest based on the equipment reservation record and the equipment userequest. The control system is further configured to transmit, inresponse to validating the equipment use request, an activationinstruction for modifying an operating state of the identified equipmentfrom a first operating state, in which the identified equipment isdisabled for use, to a second operating state, in which the identifiedequipment is enabled for use.

The control system may be further configured to perform any of thefunctions according to any of the above-described methods.

In a further aspect of the disclosure, there is provided acomputer-readable medium having computer program code stored thereon andconfigured when read by a processor to cause the processor to perform amethod. The method comprises receiving an equipment use request from aparticular one of the multiple users, the equipment use requestidentifying equipment desired for use (“identified equipment”). Themethod further comprises accessing an equipment reservation recordidentifying when equipment is reserved for use by one or more of themultiple users. The method further comprises validating the equipmentuse request based on the equipment reservation record and the equipmentuse request. The method further comprises transmitting, in response tovalidating the equipment use request, an activation instruction formodifying an operating state of the identified equipment from a firstoperating state, in which the identified equipment is disabled for use,to a second operating state, in which the identified equipment isenabled for use.

The method implemented by the computer-readable medium may furthercomprise any features of the above-described methods.

DESCRIPTION OF THE FIGURES

There will now be described embodiments of the disclosure, inconjunction with the accompanying drawings of which:

FIG. 1 is a schematic diagram of a control system in accordance with anembodiment of the disclosure;

FIG. 2 is a sample block diagram showing elements of an equipmentcontroller, in accordance with an embodiment of the disclosure;

FIG. 3 illustrates an architecture of software components, according toan embodiment of the disclosure;

FIG. 4 is a flowchart showing a method of facilitating shared use of ashared use facility, in accordance with an embodiment of the disclosure;

FIG. 5 is a diagram illustrating security features including tamperdetection and door access, in accordance with an embodiment of thedisclosure;

FIG. 6 is a diagram illustrating an example sequence of calls that takeplace on a call to an index function for an entity, in accordance withan embodiment of the disclosure;

FIG. 7 illustrates a sequence of actions that occurs when a userrequests the details of an entity and then saves the details into arecord, in accordance with an embodiment of the disclosure;

FIG. 8 shows a menu for activating equipment via an equipmentcontroller, in accordance with an embodiment of the disclosure;

FIGS. 9A and 9B show an equipment reservation record, in accordance withan embodiment of the disclosure; and

FIG. 10 shows a central server application Interfacing with a controlsystem, in accordance with an embodiment of the disclosure.

DETAILED DESCRIPTION

The present disclosure seeks to provide methods and systems forfacilitating shared use of a shared use facility. While variousembodiments of the disclosure are described below, the disclosure is notlimited to these embodiments, and variations of these embodiments maywell fall within the scope of the disclosure which is to be limited onlyby the appended claims.

The word “a” or “an” when used in conjunction with the term “comprising”or “including” in the claims and/or the specification may mean “one”,but it is also consistent with the meaning of “one or more”, “at leastone”, and “one or more than one” unless the content clearly dictatesotherwise. Similarly, the word “another” may mean at least a second ormore unless the content clearly dictates otherwise.

The terms “coupled”, “coupling” or “connected” as used herein can haveseveral different meanings depending on the context in which these termsare used. For example, the terms coupled, coupling, or connected canhave a mechanical or electrical connotation. For example, as usedherein, the terms coupled, coupling, or connected can indicate that twoelements or devices are directly connected to one another or connectedto one another through one or more intermediate elements or devices viaan electrical element, electrical signal or a mechanical elementdepending on the particular context. The term “and/or” herein when usedin association with a list of items means any one or more of the itemscomprising that list.

As will be appreciated by one skilled in the art, the various exampleembodiments described herein may be embodied as a method, system, orcomputer program product. Accordingly, the various example embodimentsmay take the form of an entirely hardware embodiment, an entirelysoftware embodiment (including firmware, resident software, micro-code,etc.) or an embodiment combining software and hardware aspects that mayall generally be referred to herein as a “circuit”, “module” or“system”. Furthermore, the various example embodiments may take the formof a computer program product on a computer-usable storage medium havingcomputer-usable program code embodied in the medium.

Any suitable computer-usable or computer readable medium may be used.The computer-usable or computer-readable medium may be, for example butnot limited to, an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system, apparatus, device, or propagationmedium. In the context of this document, a computer-usable orcomputer-readable medium may be any medium that can contain, store,communicate, propagate, or transport the program for use by or inconnection with the instruction execution system, apparatus, or device.

Computer program code for carrying out operations of various exampleembodiments may be written in an object oriented programming languagesuch as Java, Smalltalk, C++, Python, or the like. However, the computerprogram code for carrying out operations of various example embodimentsmay also be written in conventional procedural programming languages,such as the “C” programming language or similar programming languages.The program code may execute entirely on a computer, partly on thecomputer, as a stand-alone software package, partly on the computer andpartly on a remote computer or entirely on the remote computer orserver. In the latter scenario, the remote computer may be connected tothe computer through a local area network (LAN) or a wide area network(WAN), or the connection may be made to an external computer (forexample, through the Internet using an Internet Service Provider).

Various example embodiments are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to exampleembodiments. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer-implemented process such that theinstructions which execute on the computer or other programmableapparatus provide steps for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

For the purposes of the following disclosure, a shared use facility maycomprise any facility intended or designed to be used by multiple users.For example, a shared use facility may comprise a shared use kitchensuch as a commercial kitchen, a shared use laboratory, a shared uselaundromat, etc. Shared use equipment within a shared use facility,which may simply be referred to as “equipment”, may be any device, pieceof equipment, resource, apparatus, or other appliance which is intendedor designed for use by multiple users.

In embodiments, a shared use commercial kitchen facility and equipmentbilling and scheduling network is provided. The shared use commercialkitchen equipment billing and scheduling network is a computer-basedsystem that is configured to control equipment in a shared commercialkitchen. Embedded firmware, software and/or hardware systems areoperable to enable sharing of equipment between multiple users at a oneor more shared use facilities.

In embodiments, the methods and systems described herein enablescheduling of equipment usage, tracking of actual equipment usage,calculating of costs and generating of invoices for customers. Asdescribed above, while some of the embodiments are configured forsharing appliances in a commercial kitchen, the methods and systemsdescribed herein could be applied to other environments where there is aneed to share equipment and where access to that equipment can becontrolled electronically.

An example of a control system that may be implemented in a shared usefacility is shown in FIG. 1. FIG. 1 shows a control system 10 comprisinga central control module 12 communicatively coupled to multipleequipment controllers 14. Each equipment controller 14 is operable tocontrol operating states of kitchen equipment 140 associated withequipment controller 14. In some cases, an equipment controller 14 maybe operably associated with a single piece of equipment 140, whereas inother cases an equipment controller 14 may be operably associated withmultiple pieces of equipment 140. An embodiment of equipment controller14 will now be described in further detail, with reference to FIG. 2.

Equipment controller 14 may be comprised of a minicomputer boardconfigured to process instructions that may be provided as a softwarepackage operable to control equipment 140. The minicomputer may beconnected to peripherals that display information, allow user input viaa touch screen, and provide low-voltage control interface for thevarious types of equipment 140 controlled by equipment controller 14.Equipment controller 14 may be operatively coupled to an onboard cameraconfigured to capture an image of a person standing in front ofequipment controller 14. The components may be housed in anindustrial-style lockable enclosure that is adapted to withstandmoisture and other airborne contaminants typically found in anindustrial kitchen environment. Power to operate the computer andperipherals may supplied via an external CSA/UL-approved low-voltagepower supply.

FIG. 2 is a sample block diagram showing elements of equipmentcontroller 14 and how they are interconnected.

A touch panel display 20 is mounted to the outside of the enclosure ofequipment controller 14 and provides a graphical user interface forreceiving input from a user. For example, users may enter a passcode viatouch panel display 20 and subsequently may initiate activation of oneor more appliances (e.g. equipment 140) via touch panel display 20.

Touch panel display 20 includes a companion driver board 22. Driverboard 22 acts as an interface between a computer main board 24 and touchpanel display 20, and includes circuitry adapted to supply power to andoperate touch panel display 20.

A control interface 26 is maintained inside the enclosure and acts as ameans by which equipment controller 14 controls a number of differentappliances/equipment 140 in the kitchen. A corresponding number ofon-board relays 30 are connected to detachable terminal blocks tofacilitate wiring of equipment controller 14 to external equipmentcontrol points. Each control point is isolated from all other thecontrol points. Each relay 30 may, for example, have a rating of AC 250Volts at 10 Amps/DC 30 Volts at 12 Amps. Each relay 30 acts as a switchto turn externally supplied current on or off to each controlledequipment 140.

The current from control interface 26 to equipment 140 should preferablybe low-voltage AC or DC (referred to as a class 2 circuit), not 120/240volts AC. Control interface 26 itself does not supply any power toequipment 140. Signals from computer main board 24 control relays 30 andtherefore which appliances are off or on. LED indicators on controlinterface 26 indicate which of the relays are on at any time.

Equipment controller 14 further includes an emergency stop 40.Activating emergency stop 40 interrupts power to control interface 26and immediately turns off all equipment 140 in the kitchen.

Equipment controller 14 further includes manual override switches 50. Abank of toggle switches is provided inside the enclosure to manuallyswitch power on and off to each equipment 140. Manual override switches50 are wired in parallel with relays 30 and can therefore activate eachequipment 140 directly. Manual override switches 50 facilitate turningon each equipment 140 manually without having to use control interface26. This may facilitate testing of equipment 140 during installation,for example, to ensure that equipment 140 works correctly. Furthermore,in the event that equipment controller 14 malfunctions, power may stillbe provided to equipment 140 by activating the appropriate manualoverride 50.

As mentioned above, a camera 60 (a high-resolution video camera, forexample) may be mounted behind an opening in the enclosure to provide animage of the person standing in front of equipment controller 14, or ageneral image of whatever else is in view of equipment controller 14. Auser of control system 10 with proper authorization may remotely loginto control system 10 and see whatever camera 60 records.

A power supply 80 (e.g. a single 12 volt DC external power module) isprovided that supplies the current necessary for equipment controller14. Power supply 80 may, in some embodiments, be adapted to charge aninternal lithium-ion backup battery. In the event equipment controller14 loses AC power, the battery is designed to keep all of theelectronics running for a period of time.

An isolator-combiner 90 performs the function of an uninterruptablepower supply and prevents power supply 80 and the battery from poweringequipment controller 14 at the same time. When the main power supply isactive, the battery output is disconnected, but when power isinterrupted isolator-combiner 90 automatically supplies battery power toequipment controller 14 with no interruption.

A regulator block 100 is configured to convert power from power supply80/the battery to power required by computer main board 70 (e.g. 5volts), touch panel display 20, and/or video camera 60.

Some or all of the components with the exception of power supply 80 maybe located inside of an industrial-type electrical enclosure with ahinged lid. Knockouts on the top, bottom and/or sides of the enclosuremay provide the means by which the control wiring to equipment 140enters the enclosure. The front door may have a key lock to preventunauthorized access to the interior, and a tamper switch 120 isconfigured to alert computer main board 70 whenever the door is openedfor any reason.

If the door to equipment controller 14 is opened then equipmentcontroller 14 will record the occurrence and take a picture. The datawill be stored locally as well as transferred to the central controlmodule 12.

The shared use kitchen may include one or more remote door stations 130,external to equipment controller 14, and connected to equipmentcontroller 14 via an 8P8C Ethernet port to provide access to the kitchento authorized users only. Access to the shared used facility may berecorded by an equipment controller 14. In some embodiments, each accessto the facility may be recorded and stored on central control module 12.Unlocking of the remote door stations 130 may be managed from equipmentcontrollers 14 and/or central control module 12.

Turning to FIG. 4, there will now be described a method of facilitatingshared use of a shared use facility, in accordance with an embodiment ofthe disclosure. At block 402, a user may access equipment controller 14via touch panel display 20, by entering a user-specific identificationcode such as a PIN code. At block 404, equipment controller 14 thenvalidates the user PIN. For example, equipment controller 14 may accessa user profile record comprising user identifiers each associated with arespective one of the multiple users. The user profile records may bestored locally on equipment controller 14, or alternatively may bestored remotely on central control module 12, in which case equipmentcontroller 14 communicates with control module 12 in order to access theuser profile record. In some embodiments, the user profile record may bestored on a cloud-based store or other remote server, in which casecontrol module 12/equipment controller 14 retrieves the user profilerecord from such a location. Equipment controller 14 then determinesthat the user identifier (e.g. PIN) inputted by the particular usercorresponds to the user identifier associated with the particular userin the user profile record. In other words, equipment controller 14verifies that the user is a subscriber of the service provided bycontrol system 12. At block 406, equipment controller 14 validates theuser PIN once the user PIN is identified in the user profile record.Alternatively, if the user PIN is not found within the user profilerecord, then the user is informed via touch panel display 20 and furtheraccess is denied.

At block 408, equipment controller 14 presents the user with a number ofappliances/equipment controlled by equipment controller 14, as well astheir current status. An example of this display is shown in FIG. 8. Forexample, according to FIG. 8 it can be seen that Oven 2 is currently inuse, whereas Burner 1 is not indicated as in use and is thereforeavailable for use.

At block 409, equipment controller 14 receives an equipment use requestfrom the user. The equipment use request identifies an appliance thatthe user wishes to use. For example, the user may select Burner 1 fromthe screen in FIG. 8. After receiving the equipment use request, atblocks 410 and 412 equipment controller 14 determines whether or not theidentified equipment is currently reserved for use. In order to do this,equipment controller 14 accesses an equipment reservation record. Theequipment reservation record may be stored locally on equipmentcontroller 14, or alternatively may be stored remotely on centralcontrol module 12, in which case equipment controller 14 communicateswith control module 12 in order to access the equipment reservationrecord. In some embodiments, the equipment reservation record may bestored on a cloud-based store or other remote server, in which casecontrol module 12/equipment controller 14 retrieves the user profilerecord from such a location.

The equipment reservation record is an electronic record identifyingwhen different equipment is reserved for use, and by whom. An example ofthe equipment reservation record is shown in FIGS. 9A and 9B, which showdifferent equipment reserved for use at different times and on differentdays by different customers.

Once equipment reservation record is accessed, equipment controller 14determines whether the equipment identified in the equipment use requestis not reserved for use at the time equipment controller 14 receives theequipment use request. If the identified equipment is available for use,then equipment controller 14 activates the corresponding relay whichtriggers equipment 140 to transition to an activated state. In itsactivated state, equipment 140 may be used as per normal by the user.Furthermore, equipment controller 14 begins to record usage dataincluding the start time at which equipment 140 was activated, forsubsequent billing purposes.

If equipment controller 14 determines that equipment 140 is currentlyreserved, then equipment controller 14 determines whether the currentreservation is in respect of the particular user requesting access toequipment 140. If, based on the equipment reservation request and theuser PIN, equipment controller 14 determines that the current user isthe same user who has reserved equipment 140, then at blocks 412 and 414equipment controller 14 activates the corresponding relay which triggersequipment 140 to transition to an activated state. If however equipmentcontroller 14 determines that another user has reserved equipment 140for use, then equipment controller 14 informs the current user via touchpanel display 20 and denies access to equipment 140. Thus, thecorresponding relay is not activated and use of equipment 140 isprevented. In addition to enabling use of equipment 140, at block 414equipment controller 14 captures an image of the user using camera 60,and transmits the image to control module 12.

When the user no longer wishes to use equipment 140, at block 416equipment controller 14 receives from the user a stop equipment userequest. As with the equipment use request, at block 418 equipmentcontroller 14 verifies the stop equipment use request by checking theuser's PIN against the user profile record. Note that the user may berequested to re-renter their PIN in order to effect a stop equipment userequest. Assuming that the stop equipment use request is validated,equipment controller 14 triggers the corresponding relay which triggersequipment 140 to transition to a deactivated state. Equipment controller14 logs the time at which equipment 140 was deactivated, and the totalusage time of equipment 140 may be transmitted to control module 12 forbilling purposes (block 420). At blocks 422 and 424, the user may logout of equipment controller 14 which may erase all stored logoninformation.

Control system 10 may be configured in the following further ways. Forexample, the equipment reservation record may be modified by receivingat central control module 12 an equipment reservation request from oneor more of the multiple users of control system 10. For example, a usermay request reservation of one or more appliances/equipment, bytransmitting an equipment reservation request to control module 12 (forexample via a mobile device). Control system 10 then updates theequipment reservation record based on the equipment reservation request.In other embodiments, the equipment reservation request may be sent toequipment controller 14 instead of control module 12.

During use of equipment, equipment controller 14 may record usage dataof equipment 140. For example, in addition to recording the amount oftime that equipment 140 is in its activated state, equipment controller14 may further record various other usage characteristics, such as atemperature of equipment 140, or the total energy consumption ofequipment 140. Various sensors may be used to monitor such data, andequipment controller 14 may be configured to receive such data eitherpassively from the sensors, or else actively by querying the sensors fortheir readings. Sensor data may be transmitted from control system 10 toa remote device such as a remote user device. Thus, a user may remotelymonitor equipment 140. In some embodiments, it may be possible for theuser to remotely control equipment 140, by communicating with controlsystem 10.

Equipment controller 14 may be configured to compare an amount of timethat equipment 140 was in its activated state to an amount of time thatequipment 140 was reserved by the user. Furthermore, equipmentcontroller 14 may be configured to record a total amount of time thatequipment 140 was in use, among all users. Equipment controller 14 maydetermine that the total amount of time has exceeded a preset amount oftime (for example a period of time after which maintenance of equipment140 is required). Upon detecting that the total amount of time hasexceeded a preset amount of time, equipment controller 14 may transmit amessage to control module 12. The message may alert a systemadministrator that maintenance of appliance 140 is required.

Control module 12 may be further configured to determine that a contractwith one of the users has expired. Upon doing so, control module 12 mayautomatically update the equipment reservation record by removing anyexisting reservations made by the user whose contract has expired.Control module 12 may further update stored facility entry permissionssuch that the users whose contract has expired may no longer bepermitted access to the facility via door stations 130.

Control module 12 may be further configured to transmit one or morefirmware updates to equipment controller 14. Equipment controller 14 mayexecute the firmware updates which may be designed to update software onequipment controller 14, or software on equipment 140. In the lattercase, equipment controller 14 may be configured to communicate withequipment 140 and transmit the software update to equipment 140.

The following description relates to features of control system 10 thatmay be implemented in shared use facilities.

Equipment controller 14 may be configured to have the followingfunctional capabilities:

-   -   Communicate changes in appliance status to control module 12;        and    -   Receive changes in control information from control module 12        (e.g. companies, users, schedules, equipment, etc.).

Equipment controller 14 may be physically connected to one or morepieces of equipment, and/or may be network enabled and/or capable ofcommunicating with control module 12.

A central server application may be provided as illustrated in FIG. 10,wherein functionality of the central server application includes:

-   -   Scheduling of equipment at each facility;    -   Reviewing past usage of equipment by facility, company and use;    -   Maintenance of control information such as users, facilities,        companies, rates, etc.; and    -   Generation of invoices for actual equipment usage.

In terms of software architecture, the server application may be dividedinto two components. The first component is an API module which containsthe business logic and performs all data access and updates. The secondcomponent is a presentation unit which is user-facing and interacts withthe API. This design allows for alternative presentation layers (i.e.mobile or desktop) to be developed in the future if the need shouldarise. A possible layout of the software components is shown in FIG. 3.

Both API implementations are RESTful (Representational State Transfer)in that they are stateless and all requests are made via a UniversalResource Identifier (URI). Data transfer between the presentation andAPI layers may be in JSON (JavaScript Object Notation) although otherformats such as XML can be supported.

Both sets of components make use of frameworks. Frameworks can supplysignificant efficiencies and reduce testing time. Frameworks also tendto promote conventions that further improve consistency and efficiency.The main frameworks that may be used are:

-   -   CakePHP™: Used for the two API components installed on the web        servers. CakePHP is PHP-based and the framework is able to        generate controllers, views and test case stubs from a database        model. CakePHP also defines the relationship between URI        addresses and the appropriate controllers and views (routing).    -   Angular JS™: This framework is a JavaScript extension and is the        basis for the front end code of both components. Angular JS™        reduces the amount of custom JavaScript that must be written for        the front-end and extends HTML to better support web        applications. It also supplies many useful front-end tools such        as form validation.

There may be a separation of concerns throughout the design of theapplication. Business logic may be encapsulated in controller units, andpresentation logic may be defined in view units.

Application security may be implemented via JSON Web Tokens. The JWTmechanism has a number of advantages including:

-   -   The token contains meta-data such as user name, authority and        validity time-frame; and    -   There is no transmission of credentials in plain text.

On the equipment controllers 14, tokens may be obtained via the userentering a 5-digit pin code. The pin code may be used to obtainassociated user ID and company information. The pin code may be specificto the equipment controller 14. Once successfully logged in, the usermay be able to start and stop facility equipment.

On the central server application, an e-mail address and password may berequired. The password may be hashed and not stored in readable format.Tokens may be stored in memory and may be available until the user logsout, or may expire after a set, configurable period of time.

Access to functionality in the central web application may be dependenton the role assigned to the user. For example, the roles may behierarchical with a user at a certain level having all the rights ofusers at lower levels. The roles may include the following three levels:

-   -   User        -   Able to review data for their own company such as equipment            usage        -   Able to examine the equipment reservation record        -   Able to make changes to personal information for their            company    -   Site/Kitchen Administrator        -   Able to access all functionality for one or more equipment            controllers 14    -   System Administrator        -   Able to access all functionality for all equipment            controllers 14        -   Able to create and maintain equipment controllers 14

Functionality available in the central web application may be dependenton the user's authority level. The following table summarizes someavailable functionality in the main application. The functions arepresented through a menu which is generated upon login based on theuser's authority level.

Note that functions where the role administrator is indicated areavailable to facility administrators on only their assigned facilities.System administrators are able to administer various facilities.

Function Description Role Logon A simple logon screen will prompt Userthe user for their user ID and password. Logging on successfully willgenerate a token that can be passed to the server on all subsequenttransactions. Users will have an option of changing their password via aForgotten Password link which will generate an email. After logon theschedule screen is presented as a starting point. Schedule Displays theschedule for the current User day and selected kitchen. The user has theability to navigate to different days and kitchens. Equipment is sortedinto columns based on an entry in the weight column they have beengiven. The administrator can make changes to the equipment reservationrecord and such changes will be refreshed to the corresponding equipmentcontrollers 14 periodically. Company users are able to requestadditions/changes to the equipment reservation record. These can be madein the available areas and can be approved by the kitchen administrator.Add New reservations can be added Admin by dragging a company onto theschedule at an appropriate location (day, time and equipment). UpdateReservations can be re-sized as Admin required to extend the time. Anexisting reservation can be dragged to a separate piece of equipment.Delete Clicking on a reservation gives the Admin user the option ofdeleting it. Usage This menu provides methods of User History viewingactual usage history. The original source of this data will be theremote equipment controller 14. Some caveats to the usage informationinclude:  Usages of less than 5 minutes are  not included.  Usages arerounded to the nearest  15 minutes. The sub-views described below areavailable. List List the actual usages in detail. Admin Filters can beapplied for month, equipment, company, kitchen, and equipment group.Summaries of equipment usage are displayed based on the User equipmentgroup. Graphical Shows a graphical view of the User usage over a setnumber of weeks. The user can filter for kitchen and number of weeks.The display then shows graphically usage by equipment for a single dayof the week. Cost Report Report on the usage costs for a User month fora selected company. Users can access reports for their Admin owncompany. Admin users are able to report on all companies. Late/EarlyThis is a report that shows usages Admin Start Report that represent anearly start and/or a late completion on a reservation. Equipment A listof equipment by facility Admin can be viewed by the users. The list willindicate whether or not the equipment is running. From the equipmentlist the following functionality is available. New Add a new piece ofequipment. Admin View Usage View usage of that specific Admin equipment.This links to the Usage History view with the equipment being pre-set.Edit Gives the ability to change equipment Admin attributes such asName, Description, Weight (for sorting), or assigned I/O PIN. Equipmentwill be assigned to a group/class (i.e. Oven, Burner) which assists inreporting and logically grouping displays. The current rate for theequipment is displayed. This can be overridden at the user level. StopRemotely stop an active piece of equipment. Tenants Lists all users fora facility and Admin their associated companies New Add a new tenantAdmin Edit Edit the selected tenant. Admin Companies A listing of thevarious Admin companies/customers that use the application. Most usersare associated with a company. Attributes associated with a companyinclude:  Name  Preferred color for display in charts  Address andcontact information  Add base rent Add Add a new company Admin EditUpdate fields related to a company Admin (address, owner, contact info,etc.) Applications A simple list of the applications/ Admin leads can bedisplayed. Users Lists all users and their associated companies AdrninNew Add a new user Admin Edit Edit the selected user. This will Admininclude being able to edit passwords and access codes. Equipment A listof equipment rates (cost/time) Admin Rates with effective dates isdisplayed. Add Add a new rate for the equipment Admin Edit Edit the ratefor a piece of equipment. Admin Controls prevent editing of past ratesthat have already been used in billings. Billing Generate a monthly billbased on Admin rent and a mix of semi-fixed cost items such as rent,freezer space, etc. Edit Allow for the application of discount Adminrates/adjustments at the bill level. Lock The bill for customers can beAdmin locked at a certain point and further adjustments are preventedfrom being made. Semi-Fixed Breaks down the “rent” into semi-fixed AdminItems and components such as space usage, Rates freezer usage, dry goodsspace, etc. This includes functions to:  Add/Edit the list of semi-fixeditems  and their rates  Apply that list to each customer with appropriate units as well as rates.  (i.e. 1.75 Standard Cooling RackSpace *  $200/Std -> $375) Sites/ List the available facilities andallow for Admin kitchens the categorization into areas. Add Add akitchen/facility System Admin Edit Edit a kitchen/facility System AdminSecurity View Site Access System View Equipment Starts-includingpictures Admin View Tamper Incidents-including pictures

The use of the CakePHP™ and AngularJS™ frameworks aid the design of thefunctions in the central web application from a consistency perspective.

FIG. 6 shows the sequence of calls that take place on a call to an indexfunction for an entity. An example of a list would be the list ofequipment that appears when the equipment menu item is clicked.

FIG. 7 shows the sequence of actions that occurs when a user requeststhe details of an entity and then saves. Note that the view invoked byAngularJS will tend to be different as the user is only viewing a singleentity rather than a set. For instance, the user may be looking at aspecific piece of equipment and updating that equipment rather thanviewing the whole set in a list.

In a specific, non-limiting example embodiment, the following softwaredependencies are included wherein various software components andplug-ins are used.

The software makes extensive use of open source software components andplug-ins. The back-end application has the following dependencies listedbelow. These may be managed via Composer™. The primary dependencies arePHP and Cake™ itself.

Package Purpose CakePHP CakePHP-Primary package Php CakephpMobiledetectlib Migrations Plugin-installer admad\CakePHP\ A plugin forauthenticating cakephp-jwt-auth JSON Web tokens motsmanish\cakephp- Usedfor e-mail creation mailgun from the back-end.

The front-end application uses the following plugins and packages. Theseare documented and managed with the Bower™ tool, for example.

Package Purpose Angular AngularJS-Primary package Angular-bootstrapAngular-color-picker Angular-file-upload Angular-numeraljsAngular-resource Angular-sanitize Angular-touch Angular-ui-calendarAngular-ui-router Routing performance and trackingBootstrap-sass-official Primary CSS (Same as bootstrap-css) FullcalendarCalendar control Fullcalendar-scheduler Associated scheduler for addingitems jQuery-ui Useful widgets ngSticky Used to confine an element tothe screen when a user is scrolling textAngular A text editorimplemented in Angular

Further aspects of the disclosure are set out below.

There may be provided a central controller device configured tofacilitate shared use by a plurality of users of a commercial kitchenfacility having one or more powered kitchen devices, the centralcontroller device comprising:

-   -   a central communication interface configured for interoperation        with one or more corresponding device communication interfaces        adapted for controlling operation of the one or more powered        kitchen devices;    -   a data storage configured to maintain one or more data        structures storing device reservation data sets, operational        data sets associated with operation of the one or more powered        kitchen devices, and user profile data sets corresponding to        each user of the plurality of users;    -   a device reservation management unit configured to receive one        or more device reservation requests from the plurality of users        and to automatically generate a device reservation schedule        allocating time-based usage of the one or more powered kitchen        devices among the plurality of users, the device reservation        schedule stored on the data storage;    -   a user validation unit configured to receive user credentials at        a time and to validate the user credentials against credentials        of a corresponding user profile data set of one or more users of        the plurality of users having a reservation proximate to the        time on the device reservation schedule; and    -   a device provisioning unit configured to, through the central        communication interface and responsive to validated user        credentials, transmit control signals to the one or more device        communication interfaces, the control signals configured to        modify a state of operation of the one or more powered kitchen        devices.

The data storage may be further configured to capture time-encoded usedata corresponding to the usage of the one or more facility devices bythe one or more users, the time-encoded use data stored in the datastorage.

The time-encoded use data may include both an operating state of each ofthe one or more powered kitchen devices, one or more usagecharacteristics of the one or more powered kitchen devices and one ormore resource consumption characteristics of the one or more poweredkitchen devices.

The central controller device may further comprise a device usageanalytics unit configured to identify whether the one or more poweredkitchen devices were used in accordance with the device reservationschedule, and to generate a report indicating utilization rates of theone or more powered kitchen devices compared against the devicereservation schedule.

The device provisioning unit may be further configured, after areservation concludes, to transmit a second set of control signalsadapted to cause the de-provisioning of reserved one or more poweredkitchen devices.

The device provisioning unit may include a dynamic price adjustmentengine configured for automatically modifying prices based on at leastone of reservation load, and expected demand.

The dynamic price adjustment engine may be configured for automaticallymodifying and re-allocating future reservations to modify distributionof reserved equipment between different shared equipment.

The central controller device may further include a sanitation trackingunit configured to track usage of cleaning equipment to estimate whetherthe powered kitchen devices were cleaned during each of the one or moredevice reservation requests.

The data storage may be further configured to maintain one or more datastructures storing device cleaning data associated with operation of theone or more powered kitchen devices, the device cleaning data initiallypopulated with manufacturer maintenance schedules and refined over aduration of time to provide an enhanced maintenance schedule based ondata tracked from usage during the one or more device reservationrequests.

The modification of the state of operation of the one or more poweredkitchen devices may be provided through one or more controllablesolenoids, each controllable solenoid associated with a correspondingpowered kitchen device.

The one or more device communication interfaces may be configured topush firmware updates and modifications to the one or more poweredkitchen devices or associated control interfaces at each of the one ormore powered kitchen devices.

The one or more device communication interfaces may be furtherconfigured to push the device reservation schedule to each of the one ormore powered kitchen devices.

The central controller device may further comprise one or more sensorsassociated with the one or more powered kitchen devices, the one or moresensors configured to track characteristics of use of the one or morepowered kitchen devices.

A computer-implemented shared use facility may be provided, whereby asite controller device is configured for tracking and provisioning oneor more available resources within a site. In some embodiments, the sitecontroller may control multiple sites (e.g. a 1:n network of shared-usefacilities), and is not limited to a single site, while in furtherembodiments site controllers may be coupled together such that ahierarchy of site controllers control one another (e.g. for particularlylarge installations, such as a global network of shared use facilities).

The site controller device may be configured to communicate, amongothers, signals that modify, coordinate, or control the operation of theshared resources at the site. The site controller device may control ashared kitchen or a series of shared sites, and control signals may beused to coordinate reservations, operational characteristics (on/offstates, speed of operation, operating temperature), among others. Theresources are not limited to kitchen equipment, but may also be directedto aspects such as human resource reservation (e.g. an on-call prepcook), space reservation (e.g. a prep station), among others. In someembodiments, specialized control hardware may be each associated withshared resources to add control features to otherwise “dumb” resources.For example, a connected, solenoid-enabled switch can be associated witha kitchen appliance such that aspects of the kitchen appliance (e.g. astove) can be controlled. For some appliances, the control features aresimply on/off features; on others, the control features are adapted toprovide individually controllable features of various characteristics,such as temperatures, timers, individual burner on/off settings, amongothers.

In further embodiments, the system is configured for monitoringconsumption and coordinating purchasing by the users at the varioussites. Consumables can be tracked at the source of ingress, and one ormore tags (e.g. cryptographic tags) may be associated with the usage orincorporation of the consumables into various end products. The taggingof consumables enables improved auditing mechanisms, which, for example,may be used to improve compliance tracking ensuring that products do notcontain allergens, products abide by organic food requirements, amongothers.

While the disclosure has been described in connection with specificembodiments, it is to be understood that the disclosure is not limitedto these embodiments, and that alterations, modifications, andvariations of these embodiments may be carried out by the skilled personwithout departing from the scope of the disclosure. For example, it iscontemplated that the electricity management system may be configured tocontrol the energy demand of individual energy-demanding devices at thesite, so as to better manage the energy demand curve. It is furthermorecontemplated that any part of any aspect or embodiment discussed in thisspecification can be implemented or combined with any part of any otheraspect or embodiment discussed in this specification.

1. A method of facilitating shared use by multiple users of a shared usefacility comprising equipment for shared use by the multiple users, theequipment for shared use comprising multiple pieces of equipmentassociated with multiple equipment controllers, the method comprising:receiving, at a central control module, an equipment reservation requestfrom a user of the multiple users, wherein the equipment reservationrequest identifies a piece of equipment of the multiple pieces ofequipment to be reserved for use by the user and a period of time duringwhich the piece of equipment is to be reserved for use by the user;updating, by the central control module, an equipment reservation recordbased on the equipment reservation request; receiving an equipment userequest from the user, wherein the equipment use request identifies thepiece of equipment reserved for use by the user; in response toreceiving the equipment use request, accessing, by the central controlmodule, the equipment reservation record; validating, by the centralcontrol module and based on the equipment reservation record, theequipment use request; in response to validating the equipment userequest, transmitting an activation instruction from the central controlmodule to an equipment controller associated with the piece of equipmentreserved for use by the user; and in response to receiving theactivation instruction at the equipment controller, activating the pieceof equipment reserved for use by the user, by modifying with theequipment controller an operating state of the piece of equipment from afirst operating state, in which the piece of equipment is disabled foruse, to a second operating state, in which the piece of equipment isenabled for use.
 2. The method of claim 1, wherein validating theequipment use request comprises: accessing a user profile recordcomprising user identifiers each associated with a respective one of themultiple users; determining that a user identifier inputted by the usercorresponds to the user identifier associated with the user in the userprofile record; and determining that the piece of equipment: is notreserved for use at a current point in time; or is reserved for use bythe user at the current point in time.
 3. The method of claim 1, whereinactivating the piece of equipment comprises controlling one or morerelays associated with the piece of equipment.
 4. The method of claim 3,wherein the one or more relays comprise one or more solenoids.
 5. Themethod of claim 1, further comprising recording, by the central controlmodule, equipment usage data during use of the equipment, wherein theequipment usage data comprises one or more of: energy consumption by theequipment during use of the equipment; and usage characteristics of theequipment.
 6. The method of claim 1, further comprising: comparing, bythe central control module, a duration of time during which the piece ofequipment is in the second operating state to the period of time duringwhich the piece of equipment is reserved for use by the user.
 7. Themethod of claim 1, further comprising, in response to receiving theequipment use request, activating a camera for capturing an image of theuser.
 8. The method of claim 1, wherein: receiving the equipment userequest comprises receiving login input from the user; and validatingthe equipment use request is further based on the login input.
 9. Themethod of claim 1, further comprising: recording a total amount of timethat the piece of equipment has been in use; and in response todetermining that the total amount of time is equal to a predeterminedamount of time, transmitting an alert for alerting a systemadministrator that maintenance of the piece of equipment is required.10. The method of claim 1, further comprising: determining that acontract with one of the users has expired; and in response todetermining that the contract has expired, updating the equipmentreservation record by removing any existing reservations made by the oneof the users whose contract has expired.
 11. The method of claim 1,further comprising transmitting, from the central control module, one ormore firmware updates to the equipment or to one or more of theequipment controllers.
 12. The method of claim 1, further comprisingreceiving, at the central control module, sensor data from one or moresensors associated with the piece of equipment.
 13. The method of claim12, further comprising transmitting, by the central control module andto a remote user device, one or messages based on the sensor data. 14.The method of claim 12, wherein the one or more sensors comprise one ormore temperature sensors.
 15. The method of claim 1, further comprising:detecting an opening of a door of one or more of the equipmentcontrollers; and in response to detecting the opening of the door,activating a camera for capturing an image of a user of the one or moreof the equipment controllers.
 16. The method of claim 1, wherein theactivating the piece of equipment comprises activating the piece ofequipment so as to allow the user to use the piece of equipment beforethe period of time during which the piece of equipment is reserved foruse by the user.
 17. The method of claim 1, further comprising allowingthe user to continue to use the piece of equipment after the period oftime during which the piece of equipment is reserved for use by theuser.
 18. The method of claim 1, further comprising, in response toactivating the piece of equipment, capturing an image of the user. 19.The method of claim 1, further comprising capturing an image of a usertampering with the equipment.
 20. The method of claim 1, wherein eachequipment controller is associated with a respective single piece ofequipment from the multiple pieces of equipment.
 21. A systemcomprising: a shared use facility comprising: equipment for shared useby multiple users, the equipment for shared use comprising multiplepieces of equipment; and a plurality of equipment controllers associatedwith the multiple pieces of equipment and operable to control operatingstates of the multiple pieces of equipment, the operating statescomprising at least a first operating state in which the pieces ofequipment are disabled for use and a second operating state in which thepieces of equipment are enabled for use; and a central control moduleconfigured to: receive an equipment reservation request from a user ofthe multiple users, wherein the equipment reservation request identifiesa piece of equipment of the multiple pieces of equipment to be reservedfor use by the user and a period of time during which the piece ofequipment is to be reserved for use by the user; update an equipmentreservation record based on the equipment reservation request; receivean equipment use request from the user, wherein the equipment userequest identifies the piece of equipment reserved for use by the user;in response to receiving the equipment use request, access the equipmentreservation record; validate, based on the equipment reservation record,the equipment use request; in response to validating the equipment userequest, transmit an activation instruction to an equipment controllerassociated with the piece of equipment reserved for use by the user, soas to cause the operating state of the piece of equipment to be changedfrom the first operating state to the second operating state.
 22. Thesystem of claim 21, further comprising one or more manual bypassswitches for modifying the operating states of the multiple pieces ofequipment from the first operating state to the second operating state.23. A non-transitory, computer-readable medium comprising computerprogram code configured, when executed by one or more processors, tocause the one or more processors to perform a method comprising:updating an equipment reservation record based on an equipmentreservation request made by a user of the multiple users, wherein theequipment reservation request identifies a piece of equipment of themultiple pieces of equipment to be reserved for use by the user and aperiod of time during which the piece of equipment is to be reserved foruse by the user; receiving an equipment use request from the user,wherein the equipment use request identifies the piece of equipmentreserved for use by the user; in response to receiving an equipment userequest from the user, accessing the equipment reservation record,wherein the equipment use request identifies the piece of equipmentreserved for use by the user; validating, based on the equipmentreservation record, the equipment use request; in response to validatingthe equipment use request, transmitting an activation instruction so asto activate the piece of equipment reserved for use by the user, bymodifying an operating state of the piece of equipment from a firstoperating state, in which the piece of equipment is disabled for use, toa second operating state, in which the piece of equipment is enabled foruse.